package com.example.common.base

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.databinding.DataBindingUtil
import androidx.databinding.ViewDataBinding
import com.blankj.utilcode.util.ToastUtils
import com.gyf.immersionbar.ImmersionBar

abstract class BaseActivity<VDB:ViewDataBinding>:AppCompatActivity(){


    lateinit var mDataBinding: VDB

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        //获取布局代理对象
        mDataBinding = DataBindingUtil.setContentView(this,getLayoutId())

        //沉浸式状态栏设置
        ImmersionBar.with(this).init()


        //初始化组件
        initView()


    }

    //弹出Toast提示
    fun showToastMsg(msg:String){
        if(!msg.isNullOrEmpty()){
            ToastUtils.showLong(msg)
        }
    }


    /**
     * 抽象方法交给子类实现
     */
    abstract fun initView()
    /**
     * 抽象方法交给子类实现
     */
    abstract fun getLayoutId(): Int



}